package leetcode1;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User:咭咭熊
 * Date:2021 - 10 - 18
 * Time:19:13
 */

import java.util.ArrayList;
import java.util.List;

/***
 *使用二维数组存储杨辉三角的每一行
 */
public class generate {
    public List<List<Integer>> yanghuitriabgle(int numRows){
        List<List<Integer>> ret = new ArrayList<>();
        if(numRows <= 0){
            return ret;
        }
        //第一行的list
        List<Integer> list = new ArrayList<>();
        list.add(1);
        //将第一行的list放到ret当中
        ret.add(list);
        for (int i = 1; i < numRows; i++) {
            List<Integer> curRow = new ArrayList<>();
            curRow.add(1);
            for (int j = 1; j < i; j++) {
                //确定当前行的每个元素 == 上一行的当前列 + 前一行的列
                List<Integer> preRows = ret.get(i - 1);
                int num = preRows.get(j - 1) + preRows.get(j);
                curRow.add(num);
            }
            //手动在当前行的最后哪一个位置添加一个1
            curRow.add(1);
            ret.add(curRow);
        }
        return ret;
    }
}
